/**
 * 公共方法文件
 */
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
/**
 * 动态绑定fontSize函数（用于移动端的适配）
 */
export const newRem = (): void => {
  // 首先执行一次 改变的比例算法 用于第一次进入获取
  changeRem()
  window.addEventListener('resize', changeRem)
}
// 改变的比例算法
const changeRem = (): void => {
  // 改变的比例计算 宽度：750 / fontSize：
  let changeProportion = 7.5
  // 获取目前屏幕的宽度
  let nowWidth = window.innerWidth
  // 计算当前的fontSize的值
  let nowRem = nowWidth / changeProportion
  // 给根元素绑定此计算后的值
  document.documentElement.style.fontSize = nowRem + 'px'
}

/**
 * 像素换算（用于获取此屏幕尺寸下对应的px值）
 * number：传入对应的rem值
 */
// -------------------------------------------------------------------------------------------------------------------------------
export const remToPx = (number: number): number => {
  // 如果能获取到根元素设置的fontsize
  let remSize =
    parseFloat(
      window?.getComputedStyle(document.documentElement)['fontSize']
    ) || 0
  // 未获取到根元素fontsize 则自己计算rem
  if (!remSize) {
    remSize = 100 / (750 / document.body.clientWidth)
  }
  // 依然未获取设置固定值
  if (!remSize) {
    remSize = 50
  }
  return Math.round(remSize * (number * 1000)) / 1000
}

/**
 * 随机数
 * min：最小筛选值
 * max：最大筛选值
 */
// -------------------------------------------------------------------------------------------------------------------------------
export const randomNum = (min: number, max: number) => {
  var range = max - min + 1
  var rand = Math.random()
  var num = min + Math.floor(rand * range)
  return num
}
